/*=============================================================================
#    The element-comm is a tentative program used to test our ideas.           
#                       Copyright (C)  bgao                                    
#
#     This program is free software; you can redistribute it and/or            
#      modify it under the terms of the GNU General Public License             
#     as published by the Free Software Foundation; either version 2           
#         of the License, or (at your option) any later version.               
#
#     This program is distributed in the hope that it will be useful,          
#    but WITHOUT ANY WARRANTY; without even the implied warranty of           
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            
#             GNU General Public License for more details.                    
#
#    You should have received a copy of the GNU General Public License        
#     along with this program; if not, write to the Free Software             
#      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,             
#                       MA  02110-1301, USA.                                  
#==============================================================================
# $Id: mac.h 348 2010-11-29 09:01:16Z bgao $ 
#
# $Author: bgao $ 
#
# $Revision: 348 $ 
#
# $Date: 2010-11-29 17:01:16 +0800 (星期一, 29 十一月 2010) $ 
#
# Description: 
#
=============================================================================*/
/*! @file mac.h
 *  @brief include all the necessary header files in the MAC layer
 *         to make the including decision more easier.
 */
#ifndef _MAC_H_
#define _MAC_H_

/* informations of the mac modules */
#include "common.h"
#include "mac_info.h"

/* first layer base modules, these modules should be moved to the system layer in the future */
#include "list.h"
#include "mem.h"
#include "buf.h"
#include "timer.h"

/* second layer base sub-modules */
#include "mac_retry.h"
#include "mac_indir.h"
#include "mac_queue.h"

/* frame generator and parser sub-modules */
#include "mac_gen.h"
#include "mac_parse.h"

/* mac functional sub-modules */
#include "mac_tx.h"
#include "mac_recv.h"
#include "mac_assoc.h"
#include "mac_data.h"
#include "mac_poll.h"
#include "mac_scan.h"
#include "mac_start.h"

/* sub-modules interface to the nwk layer and phy layers */
#include "mac_nhl.h"
#include "mac_phy.h"
#include "mac_rf.h"
#include "debug.h"

int8 mac_init(void);
int8 mac_ack(uint8 dsn);

#endif
